﻿$(document).ready(function () {


    function inicializa() {

        $("input.data").blur(function () {

            var data = $(this).val();
            var erro = false;

            if (data.length == 10) {

                var dia = data.substring(0, 2);
                var mes = data.substring(3, 5);
                var ano = data.substring(6, 10);

                if (dia < 1 || dia > 31) {

                    erro = true;
                }
                if (mes < 1 || mes > 12) {
                    erro = true;
                }
                if (ano < 1900 || ano > 2020) {
                    erro = true;
                }


                if (erro) {

                    alert("Data Inválida!!!");
                    $(this).val("");
                }
            }

        });

        $("input.data").datepicker({
            dateFormat: 'dd/mm/yy',
            dayNames: [
                'Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado', 'Domingo'
                ],
            dayNamesMin: [
                'D', 'S', 'T', 'Q', 'Q', 'S', 'S', 'D'
                ],
            dayNamesShort: [
                'Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb', 'Dom'
                ],
            monthNames: [
                'Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro',
                'Outubro', 'Novembro', 'Dezembro'
                ],
            monthNamesShort: [
                'Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set',
                'Out', 'Nov', 'Dez'
                ],
            nextText: 'Próximo',
            prevText: 'Anterior'

        });

        // Mascara Moeda
        $("input.moeda").maskMoney(
            {
                symbol: 'R$', // Simbolo
                decimal: ',', // Separador do decimal
                precision: 2, // Precisão
                thousands: '.', // Separador para os milhares
                allowZero: false, // Permite que o digito 0 seja o primeiro caractere
                showSymbol: false // Exibe/Oculta o símbolo
            });

        $("input.moeda").attr("MaxLength", 12);


        //$('input.money').mask('000.000.000.000.000,00', { reverse: true });
        //
        //// Mascara Porcentagem
        //// MODO DE USAR .maskMoney({symbol:'% ', showSymbol:true, decimal:'.', symbolStay: true}
        $("input.porcentagem").maskMoney({ symbol: '% ', showSymbol: false, decimal: ',', symbolStay: true });

        $("input.porcentagem").blur(function () {
            var valor = $(this).val();

            valor = valor.replace(".", "");
            valor = valor.replace(",", ".");
            valor = parseFloat(valor);

            if (valor > 100) {
                alert("O valor do campo percentual e os valores válidos são compreendidos entre 0 e 100.");
                $(this).focus();
            }

        });

        $("input.porcentagem").attr("MaxLength", 6);


        //

        // Mascara Data

        $("input.data").mask("99/99/9999");
        $("input.data").datepicker({
            dateFormat: 'dd/mm/yy',
            dayNames: [
                'Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado', 'Domingo'
                ],
            dayNamesMin: [
                'D', 'S', 'T', 'Q', 'Q', 'S', 'S', 'D'
                ],
            dayNamesShort: [
                'Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb', 'Dom'
                ],
            monthNames: [
                'Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro',
                'Outubro', 'Novembro', 'Dezembro'
                ],
            monthNamesShort: [
                'Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set',
                'Out', 'Nov', 'Dez'
                ],
            nextText: 'Próximo',
            prevText: 'Anterior'

        });

        // Mascara Telefone
        $("input.telefone").mask("(99)9999-9999");

        // Mascara CEP
        $("input.cep").mask("99999-999");

        // CNPJ
        $("input.cnpj").mask("99.999.999/9999-99");

        // CPF
        $("input.cpf").mask("999.999.999-99");

        // Somente numeros
        $("input.apenas_numeros").keyup(function () {
            var valor = $(this).val().replace(/[^0-9]+/g, '');
            $(this).val(valor);
        });

        // HORa
        $('hora').mask('00:00:00');

        // DATA HORA

        $('input.data_hora').mask('99/99/9999 00:00:00');

        // PLACA 

        $('input.placa').mask('aaa-9999');
        // Somente letras minúsculas
        $("input.minuscula").keyup(function () {
            var valor = $(this).val().replace(/[^a-z]+/g, '');
            $(this).val(valor);
        });

        // Somente letras maiúsculas e minúsculas
        $("input.maiuscula_minuscula").keyup(function () {
            var valor = $(this).val().replace(/[^a-z]+/gi, '');
            $(this).val(valor);
        });
        // Somente letras maiúsculas e minúsculas e numeros
        $("input.letras_numeros").keyup(function () {
            var valor = $(this).val().replace(/[^a-z0-9]+/gi, '');
            $(this).val(valor);
        });
        // Somente valores definidos
        $("input.customizado").keyup(function () {
            var valor = $(this).val().replace(/[^2468]+/g, '');
            $(this).val(valor);
        });

        // Bloqueia a tecla enter no formulario
        $("forms").keypress(function () {
            var key;
            if (window.event)
                key = window.event.keyCode;
            // IE 
            else
                key = e.which;
            // *firefox* 
            return (key != 13);

        });


    }

    inicializa();

    //Recuperando a instância ativa da classe PageRequestManager.
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    if (prm != null) {
        //Registrando uma chamada a função inicializa() após o fim da renderização parcial da página.
        prm.add_endRequest(function () {
            inicializa();
        });

    }


    function OpenModal(sURL, vArguments, ModalDialogHeight, ModalDialogWidth) {
        var sFeatures;

        if (window.showModalDialog) {
            if (!navigator.userAgent.toLowerCase().match('chrome')) {
                ModalDialogWidth += "px";
                ModalDialogHeight += "px";
            }
            sFeatures = "status:no;center:yes;dialogWidth:" + ModalDialogWidth + ";dialogHeight:" + ModalDialogHeight + ";scroll:no ;resizable:yes;";
            var returnResult = window.showModalDialog(sURL, vArguments, sFeatures);
            if (returnResult) {
                return returnResult;
            }
        }
        else {
            sFeatures = "status=no,width=" + ModalDialogWidth + ",height=" + ModalDialogHeight + ",menubar=no,scrollbars=no";
            window.margs = vArguments;
            window.open(sURL, "_blank", sFeatures);
        }
    }
});